package com.zhonghan.recharge.service;
import java.util.List;

import com.zhonghan.common.bean.Result;
import com.zhonghan.recharge.pojo.OilCustomerRelease;
public interface OilCustomerReleaseService{
	/**
	 * 获得OilCustomerRelease数据的总行数
	 * @return
	 */
    long getOilCustomerReleaseRowCount();
	/**
	 * 获得OilCustomerRelease数据集合
	 * @return
	 */
    List<OilCustomerRelease> selectOilCustomerRelease();
	/**
	 * 获得一个OilCustomerRelease对象,以参数OilCustomerRelease对象中不为空的属性作为条件进行查询
	 * @param obj
	 * @return
	 */
    List<OilCustomerRelease> selectOilCustomerReleaseByObj(OilCustomerRelease obj);
	/**
	 * 通过OilCustomerRelease的id获得OilCustomerRelease对象
	 * @param id
	 * @return
	 */
    OilCustomerRelease selectOilCustomerReleaseById(Integer id);
	/**
	 * 插入OilCustomerRelease到数据库,包括null值
	 * @param value
	 * @return
	 */
    int insertOilCustomerRelease(OilCustomerRelease value);
	/**
	 * 插入OilCustomerRelease中属性值不为null的数据到数据库
	 * @param value
	 * @return
	 */
    int insertNonEmptyOilCustomerRelease(OilCustomerRelease value);
	/**
	 * 批量插入OilCustomerRelease到数据库
	 * @param value
	 * @return
	 */
    int insertOilCustomerReleaseByBatch(List<OilCustomerRelease> value);
	/**
	 * 通过OilCustomerRelease的id删除OilCustomerRelease
	 * @param id
	 * @return
	 */
    int deleteOilCustomerReleaseById(Integer id);
	/**
	 * 通过OilCustomerRelease的id更新OilCustomerRelease中的数据,包括null值
	 * @param enti
	 * @return
	 */
    int updateOilCustomerReleaseById(OilCustomerRelease enti);
	/**
	 * 通过OilCustomerRelease的id更新OilCustomerRelease中属性不为null的数据
	 * @param enti
	 * @return
	 */
    int updateNonEmptyOilCustomerReleaseById(OilCustomerRelease enti);
    
	
	/**
	 * 查询释放油品订单
	 * @param pageNum
	 * @param pageSize
	 * @param pageSize2 
	 * @return
	 */
	Result selectOilCustomerReleaseByCondition(Integer id,Integer pageNum, Integer pageSize);
	
	/**
	 * 
	 * @param id 
	 * @param id				客户订单编号
	 * @param cardps0			1000面额充值卡开始号段
	 * @param cardpe0			1000面额充值卡结束号段
	 * @param cardps1			500面额充值卡开始号段
	 * @param cardpe1			500面额充值卡结束号段
	 * @param cardps2			100面额充值卡开始号段
	 * @param cardpe2			100面额充值卡结束号段
	 * @param releaseTime		释放时间
	 * @param releaseAmount		释放金额
	 * @return
	 * @throws Exception 
	 */
	Result addOilCustomerRelease(Integer id, String cardPart1000, String cardPart500, String cardPart100, String releaseTime,Double releaseAmount) throws Exception;
	
	
}